package com.briup.jdk8.day02;

import com.briup.corejava.day11.pojo.Student;

import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

/**
 * Consumer：消费者
 * 主要逻辑就是提供参数，没有返回值
 */
public class Test2 {
    public static void main(String[] args) {
        // 准备一个学生对象，给学生的名字加briup前缀
        Student s = new Student("tom",20);
        // s.setName("briup"+s.getName());
        // 使用run方法给s的name加前缀
        String pre = "briup_";
        String after = "_01";
        Consumer<Student> c1 = a->a.setName(pre+a.getName());
        Consumer<Student> c2 = a->a.setName(a.getName()+after);
//        run(s,c1);
//        run(s,c2);
        run(s,c1.andThen(c2));
        System.out.println(s);
        List<Integer> list = Arrays.asList(2,1,5,3);
        list.forEach(a-> {
            a = a*11;
            if(a > 20){
                System.out.println(a);
            }
        });
    }
    public static <T> void run(T t,Consumer<T> consumer){
        consumer.accept(t);
    }
}
